最適化アルゴリズムのテスト関数 (2)

最適化アルゴリズムの性能の良し悪しを決めるために,テスト関数 (ベンチマーク関数) が用いられる.テスト関数は,探索の範囲が設定され,最小値 (最適値) が既知であるような関数である.

この資料では,最適化アルゴリズムの評価に用いるテスト関数をプロットする.テスト関数としては,英語版の Wikipedia[1] に載っているものを用いる.

[1]: Test functions for optimization (en:Wikipedia), Accessed on 2021/09/09.

Himmelblau's function

Definition

$$f(x, y) = (x^2 + y - 11)^2 + (x + y^2 - 7)^2.$$

Search domain

$$-5 \leq x, y \leq 5.$$

Global minimum

$$ \begin{cases} f(3.0, 2.0) = 0, \\ f(-2.805118, 3.131312) = 0, \\ f(-3.779310, -3.283186) = 0, \\ f(3.584428, -1.848126) = 0. \end{cases} $$

Three-hump camel function

Definition

$$f(x, y) = 2x^2 - 1.05 x^4 + \frac{x^6}{6} + xy + y^2.$$

Search domain

$$ -5 \leq x, y \leq 5. $$

Global minimum

$$ f(0, 0) = 0. $$

Easom function

Definition

$$ f(x, y) = -\cos x \cos y \exp \left( -((x - \pi)^2 + (y - \pi)^2) \right). $$

Search domain

$$-100 \leq x, y \leq 100.$$

Global minimum

$$f(\pi, \pi) = -1.$$

Cross-in-tray function

Definition

$$ f(x, y) = -0.0001 \left[ \left| \sin x \sin y \exp \left( \left| 100 - \frac{\sqrt{x^2 + y^2}}{\pi} \right| \right) \right| + 1 \right]^{0.1}. $$

Search domain

$$-10 \leq x, y \leq 10.$$

Global minimum

$$ \begin{cases} f(1.34941, -1.34941) = -2.06261, \\ f(1.34941, 1.34941) = -2.06261, \\ f(-1.34941, 1.34941) = -2.06261, \\ f(-1.34941, -1.34941) = -2.06261. \end{cases}$$

Eggholder function

Definition

$$ f(x, y) = -(y + 47) \sin \sqrt{ \left|\frac{x}{2} + (y + 47) \right|} - x \sin \sqrt{|x - (y + 47)|}. $$

Search domain

$$-512 \leq x, y \leq 512.$$

Global minimum

$$f(512, 404.2319) = -959.6407.$$

Holder table function

Definition

$$ f(x, y) = - \left| \sin x \cos y \exp \left( \left|1 - \frac{\sqrt{x^2 + y^2}}{\pi} \right| \right) \right|. $$

Search domain

$$-10 \leq x, y \leq 10.$$

Global minimum

$$ \begin{cases} f(8.05502, 9.66459) = -19.2085, \\ f(-8.05502, 9.66459) = -19.2085, \\ f(8.05502, -9.66459) = -19.2085, \\ f(-8.05502, -9.66459) = -19.2085. \end{cases} $$

McCormick function

Definition

$$ f(x, y) = \sin(x + y) + (x - y)^2 - 1.5x + 2.5y + 1. $$

Search domain

$$ -1.5 \leq x \leq 4, \ \ -3 \leq y \leq 4. $$

Global minimum

$$f(-0.54719, -1.54719) = -1.9133.$$

Schaffer function N.2

Definition

$$f(x, y) = 0.5 + \frac{\sin^2(x^2 - y^2) - 0.5}{(1 + 0.001(x^2 + y^2))^2}.$$

Search domain

$$-100 \leq x, y \leq 100.$$

Global minimum

$$f(0, 0) = 0.$$

Schaffer function N.4

Definition

$$f(x, y) = 0.5 + \frac{\cos^2(x^2 - y^2) - 0.5}{(1 + 0.001(x^2 + y^2))^2}.$$

Search domain

$$-100 \leq x, y \leq 100.$$

Global minimum

$$\begin{cases} f(0, 1.25313) = 0.292579, \\ f(0, -1.25313) = 0.292579. \end{cases}$$

Styblinski-tang function

Definition

$$ f(x) = \frac{\sum_{i = 1}^n x_i^4 - 16 x_i^2 + 5x_i}{2}. $$

Search domain

$$-5 \leq x_i \leq 5, \ \ i = 1, \ldots, n.$$

Global minimum

$$-39.16617n < f(-2.903534, ..., -2.903534) < -39.16616n.$$